1. Field of the Invention
The present invention generally relates to spread spectrum communications systems. More particularly, the present invention relates to correlation architecture in the application of GPS (Global Positioning System) receivers.
2. Description of Related Art
Spread spectrum communication is advantageous in communication applications requiring low-power and high reliability in a noisy environment. GPS is one of ubiquitous applications of the spread spectrum communication. Though being originally developed for positioning and navigation in military systems, GPS has been widely applied to car navigation systems and may be probably applied to mobile phone navigation systems in the future.
The GPS system comprises twenty-four satellites, each of which is provided with position and time message data. The message data sequence with a rate of 50 bits per second are mixed with a satellite C/A (course/acquisition) code and then sent on a radiofrequency channel by having the mixed sequence modulated by a carrier frequency of 1575.42 MHz. Each satellite is provided with a unique C/A code that a 1023-bit pseudo-random code with a 1.023 MHz chipping rate and a 1 ms repetition period. A GPS receiver at user's end can replicate every satellite C/A code so as to search and track satellite data streams efficiently.
Referring to FIG. 1, a diagram of a conventional GPS receiver is illustrated schematically. As shown in FIG. 1, a RF front-end circuit 10 receives the data stream and removes the 1575.42 MHz carrier from the received data stream such that a signal is produced at a lower frequency in the range around 1 MHz or 4 MHz and thereafter provided to be processed by a GPS base-band circuit 12. The GPS base-band circuit 12 comprises a correlator 14 and a data extractor 16. The correlator 14 is used to search C/A codes as well as Doppler frequencies and track the satellites that have been found. The data extractor 16 is employed to acquire the message data with the rate of 50 bits/sec contained in the received message data sequence and then transmit the acquired message data to a GPS navigator 18. The GPS navigator 18 is used to compute the associated navigation data, such as speed, position and coordinates transformation, accordingly. The navigation data are thereafter sent to a computer system for further processing.
Usually, the conventional GPS receiver is designed to search and track twelve satellites in twelve different channels and thus provided with twelve correlators corresponding to the twelve channels respectively. In other words, each correlator is used to process the message data transmitted from the corresponding satellite.
Referring to FIG. 2, a schematic diagram of a correlator for the conventional GPS receiver is illustrated. As shown in FIG. 2, the data sequence received from the RF front-end circuit 10 is divided into I (in-phase) data and Q (quadrature-phase) data by an I/Q separator 20. The I and Q data are received by respective Doppler multipliers 26a and 26b in which serial frequency data generated by a Doppler frequency generator 22 multiply by the I and Q data respectively. The outputs of the Doppler multipliers 26a and 26b are received by respective C/A code multipliers 28a and 28b in which serial C/A code data generated by a C/A code generator 24 multiplies by the outputs of the Doppler multipliers 26a and 26b in order to obtain inner products, respectively.
The inner products generated by the C/A code multipliers 28a and 28b are received by respective coherence integrators 30a and 30b in which the inner products are accumulated 1023 times for a repetition period. The outputs of the coherence integrators 30a and 30b are sequentially applied to a squarer 32 for square operation and a non-coherence integrator 34 for accumulating the data for 20 ms. The output of the non-coherence integrator 34 is sent to a peak detector 36 for peak detection. Occurrence of peak maximum means that the current C/A code and the Doppler frequency are matched with those provided by the satellite being received.
Though the conventional correlator of FIG. 2 is advantageous in simple architecture and low cost, the performance is constrained by data rate, that is, 1023 operations of accumulation for one C/A code is required, and therefore suffers from the problem of low speed. In addition, the whole circuit of the conventional correlator must be continually powered during the period of circuit operation that is not suitable for low-power applications.
One approach to speed up performance is disclosed in U.S. Pat. No. 6,393,046 pertaining to an improved correlator as shown in FIG. 3. According to the improved correlator disclosed in U.S. Pat. No. 6,393,046, the input data sequence received for one repetition period is divided into tens of 11-bit data segment which are processed in parallel so as to speed up the performance.
As shown in FIG. 3, the data sequence sent from the RF front-end circuit is separated by an I/Q separator 106 to generate in-phase I data and quadrature-phase Q data that are thereafter processed by a shift register 120 to become 11-bit parallel data 122 to be sent to Doppler 108 for multiplication operations. The data sequence generated by the Doppler 108 is processed by a shifter register 166 to become 11-bit parallel data 140. Moreover, the C/A code generated by a C/A code generator 112 is processed by a shift register 170 to become 11-bit parallel code data that multiply by the 11-bit parallel data 140 to generate an 11-bit inner product. The parallel inner product is accumulated by a partial accumulator 175 and then accumulated 93 times for 1 ms repetition period by a coherence integrator 114. The output of the coherence integrator 114 is provided to a circuit 116 for non-coherence integration and peak detection.
Though the correlator as depicted in FIG. 3 can improve the performance 11 times that of the conventional correlator of FIG. 2, the step for converting data sequence into parallel data operates at a higher frequency and thus consumes more power. Moreover, the Doppler frequency generated by the Doppler frequency generator and the C/A code generated by the C/A code generator are both in form of serial data, several shift registers are required to convert the data sequence into parallel data such that the cost is increased and the speed switching among different channels is decreased. Furthermore, similar to the conventional correlator of FIG. 2, the whole circuit of the conventional correlator must be continually powered during the period of circuit operation that is not suitable for low-power applications.